cmake_minimum_required(VERSION 3.17)
project(opengl)

set(CMAKE_CXX_STANDARD 14)

include_directories(
        include
        math

        )

# set variables that are needed
#set(ZLIB_LIBRARIES zlibstatic)
#set(ENABLE_BOOST_WORKAROUND ON)
#set(BUILD_STATIC_LIB ON)
#set(BUILD_ASSIMP_TOOLS  ON)
#set(ASSIMP_BUILD_STATIC_LIB ON)

#add_subdirectory(libs/assimp)
#add_subdirectory(libs/entt)
#set(SRC src
#        src/utils/stb_image.h
#        src/utils/Utils.cpp src/utils/Utils.h
#        include/imgui/imgui.h
#        include/imgui/imgui_draw.cpp
#        include/imgui/imgui_demo.cpp
#        include/imgui/imstb_truetype.h include/imgui/imstb_rectpack.h include/imgui/imstb_textedit.h
#        src/imgui/imgui_impl_glfw.h src/imgui/imgui_impl_glfw.cpp
#        src/imgui/imgui_impl_opengl3.h src/imgui/imgui_impl_opengl3.cpp
#        include/imgui/imgui_internal.h include/imgui/imgui_widgets.cpp
#        include/imgui/imgui.cpp
#        src/light/LightDirectional.cpp src/light/LightDirectional.h
#        src/light/LightPoint.cpp src/light/LightPoint.h
#        src/light/LightSpot.cpp src/light/LightSpot.h
#        src/model/Mesh.cpp src/model/Mesh.h
#        src/camera/Camera.cpp src/camera/Camera.h src/camera/camera3DController.cpp src/camera/camera3DController.h src/camera/perspectiveCamera.cpp src/camera/perspectiveCamera.h
#        src/material/Shader.cpp src/material/Shader.h
#        src/material/Material.cpp src/material/Material.h
#        src/glad.c
#        GlfwInit.cpp GlfwInit.h
#        )
#add_subdirectory(libs/glm)
file(GLOB GLAD include/glad/*)
file(GLOB GLFW include/GLFW/*)
file(GLOB KHR include/KHR/*)
#file(GLOB_RECURSE MATH math/*)

#add_executable(main
#        ${INCLUDE}
#        ${SRC}
#        main.cpp)
#target_link_libraries(main ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)
#
#add_executable(depth_test ${INCLUDE}
#        ${SRC} src/depth_test/depthTest.cpp src/depth_test/depthTest.h)
#target_link_libraries(depth_test ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)
#
#add_executable(stencil_test ${INCLUDE}
#        ${SRC} src/stencil_test/stencil_test.cpp)
#target_link_libraries(stencil_test ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)
#
#add_executable(blending ${INCLUDE}
#        ${SRC} src/blending/blending.cpp)
#target_link_libraries(blending ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)
#
#add_executable(faceculling ${INCLUDE}
#        ${SRC} src/faceculling/faceCulling.cpp)
#target_link_libraries(faceculling ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)
#
#add_executable(frameBuffer ${INCLUDE}
#        ${SRC} src/framebuffer/frameBuffer.cpp)
#target_link_libraries(frameBuffer ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)
#
#add_executable(cubeMap ${INCLUDE}
#        ${SRC} src/cubeMap/cubeMap.cpp)
#target_link_libraries(cubeMap ${PROJECT_SOURCE_DIR}/lib/glfw3.dll glm)

add_executable(glsl ${KHR} ${GLAD} ${GLFW}
        test/glad.c
         test/glsl/glsl.cpp)
target_link_libraries(glsl ${PROJECT_SOURCE_DIR}/lib/glfw3.dll)